# 使用 matplotlib对图像进行展示
# OpenCV: OpenCV 图库在读取图像文件（例如.jpg、.png、.bmp等）时，会以BGR（蓝、绿、红）方式存储颜色通道。
# Matplotlib：在 Matplotlib 图库中，以及大部分其他图像处理库（比如 PIL、skimage等）和深度学习库（比如 TensorFlow、PyTorch等）中，图像文件被读取后默认按照RGB（红、绿、蓝）方式存储颜色通道。
# 警告：OpenCV加载的彩色图像处于BGR模式。但是Matplotlib以RGB模式显示。
import cv2
from matplotlib import pyplot as plt

# 读取图像
img = cv2.imread("test.jpg")

# 显示图像在窗口
cv2.imshow("Image", img)

# 等待用户关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()

# 使用matplotlib显示图片
plt.imshow(img[:, :, ::-1])  # 将rgb转换为bgr，数组逆置
# 灰度图的读取模式：plt.imshow(img, cmap=plt.cm.gray)
plt.show()

img = cv2.imread("test.jpg", 0)
plt.imshow(img, cmap="gray", interpolation="bicubic")
plt.xticks([]), plt.yticks([])  # 隐藏 x 轴和 y 轴上的刻度值
plt.show()
